package com.haixiaoke.saas.order.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 支付回调数据记录对象 biz_wechat_pay_record
 *
 * @author panda
 * @date 2024-04-24
 */
@Data
public class WechatPayRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long id;

    /**
     * 订单id
     */
    @Excel(name = "订单id")
    private String outTradeNo;

    /**
     * 微信订单id
     */
    @Excel(name = "微信订单id")
    private String transactionId;

    /**
     * 订单支付费用
     */
    @Excel(name = "订单支付费用")
    private String totalFee;

    /**
     * 自定义字段，根据业务需求
     */
    @Excel(name = "自定义字段，根据业务需求")
    private String attach;

    /**
     * 返回状态码
     */
    @Excel(name = "返回状态码")
    private String returnCode;

    /**
     * 返回信息
     */
    @Excel(name = "返回信息")
    private String returnMsg;

    /**
     * 业务结果
     */
    @Excel(name = "业务结果")
    private String resultCode;

    /**
     * 错误代码
     */
    @Excel(name = "错误代码")
    private String errCode;

    /**
     * 错误代码描述
     */
    @Excel(name = "错误代码描述")
    private String errCodeDes;

    /**
     * 微信appId
     */
    @Excel(name = "微信appId")
    private String appId;

    /**
     * 商户号id
     */
    @Excel(name = "商户号id")
    private String mchId;

    /**
     * 随机字符串
     */
    @Excel(name = "随机字符串")
    private String nonceStr;

    /**
     * 回调时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回调时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date timeEnd;

    /**
     * 银行类型，采用字符串类型的银行标识
     */
    @Excel(name = "银行类型，采用字符串类型的银行标识")
    private String bankType;

    /**
     * 现金支付金额订单现金支付金额
     */
    @Excel(name = "现金支付金额订单现金支付金额")
    private String cashFee;

    /**
     * 货币类型，符合ISO4217标准的三位字母代码，默认人民币：CNY
     */
    @Excel(name = "货币类型，符合ISO4217标准的三位字母代码，默认人民币：CNY")
    private String feeType;

    /**
     * 已废弃，默认统一返回N
     */
    @Excel(name = "已废弃，默认统一返回N")
    private String isSubscribe;

    /**
     * 用户在商户appid下的唯一标识
     */
    @Excel(name = "用户在商户appid下的唯一标识")
    private String openId;

    /**
     * 签名
     */
    @Excel(name = "签名")
    private String sign;
}
